﻿Imports System.Data
Imports System.Data.SqlClient
Partial Class nhomsp
    Inherits System.Web.UI.Page

#Region " Web Form Designer Generated Code "

    'This call is required by the Web Form Designer.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub

    'NOTE: The following placeholder declaration is required by the Web Form Designer.
    'Do not delete or move it.
    Private designerPlaceholderDeclaration As System.Object

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: This method call is required by the Web Form Designer
        'Do not modify it using the code editor.
        InitializeComponent()
    End Sub

#End Region

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Put user code to initialize the page here
        If Not Page.IsPostBack Then
            BindGrid()
        End If
    End Sub

    Public Sub Datagrid_OnCancel(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
        DataGrid1.EditItemIndex = -1
        BindGrid()
    End Sub
    Public Sub Datagrid_OnEdit(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
        DataGrid1.EditItemIndex = e.Item.ItemIndex
        BindGrid()
    End Sub
    Public Sub Datagrid_OnUpdate(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
        Dim sSql As String
        Dim blnAddNew As Boolean = False
        Dim txtTennhomsp As TextBox
        Dim txtHinhtxt As TextBox
        Dim txtidnn As TextBox
        Dim txtTT As TextBox
        Dim txtThutu As TextBox
        Dim txtidvn As TextBox

        '----------------Lay du lieu -------------

        txtTennhomsp = e.Item.Cells(2).Controls(0)
        txtHinhtxt = e.Item.Cells(3).Controls(0)
        txtidnn = e.Item.Cells(4).Controls(0)
        txtTT = e.Item.Cells(5).Controls(0)
        txtThutu = e.Item.Cells(6).Controls(0)
        txtidvn = e.Item.Cells(7).Controls(0)
        '----------------Update du lieu -------------
        If e.Item.Cells(1).Text < 1 Then
            blnAddNew = True
        End If
        If blnAddNew = True Then
            ' Insert into
            sSql = " insert into nhomsp (tennhomsp,idnn,TT,thutu,idloaisp,idvn,hinhtxt)" & _
            "values(@tennhomsp,@idnn,@TT,@thutu,@idloaisp,@idvn,@hinhtxt) "
        Else
            'Update
            sSql = " UPDATE nhomsp SET" & _
            " tennhomsp =@tennhomsp, idnn =@idnn,idvn=@idvn " & _
            ", TT =@TT, thutu=@thutu, hinhtxt=@hinhtxt" & _
            " WHERE idnhomsp = @idnhomsp"
        End If
        Dim myConn As New SqlConnection(ConfigurationManager.AppSettings("cons"))
        Dim MyCommand As SqlCommand
        myConn.Open()
        MyCommand = New SqlCommand(sSql, myConn)
        If blnAddNew Then
            MyCommand.Parameters.Add(New SqlParameter("@idloaisp", Request.QueryString("c")))
        Else
            MyCommand.Parameters.Add(New SqlParameter("@idnhomsp", e.Item.Cells(1).Text))
        End If
        MyCommand.Parameters.Add(New SqlParameter("@tennhomsp", txtTennhomsp.Text))
        MyCommand.Parameters.Add(New SqlParameter("@hinhtxt", txtHinhtxt.Text))
        MyCommand.Parameters.Add(New SqlParameter("@idnn", txtidnn.Text))
        MyCommand.Parameters.Add(New SqlParameter("@thutu", CInt(txtThutu.Text)))
        MyCommand.Parameters.Add(New SqlParameter("@TT", CBool(txtTT.Text)))
        MyCommand.Parameters.Add(New SqlParameter("@idvn", IIf(txtidvn.Text <> "", CInt(txtidvn.Text), 0)))



        MyCommand.ExecuteNonQuery()
        myConn.Close()
        DataGrid1.EditItemIndex = -1
        BindGrid()
    End Sub
    Private Sub BindGrid()
        Dim idLoaiSP As Int16 = -1
        If IsNumeric(Request.QueryString("c")) Then
            idLoaiSP = CInt(Request.QueryString("c"))
        End If
        Dim dr As DataRow
        Dim myConn As New SqlConnection(ConfigurationManager.AppSettings("cons"))
        Dim sSql As String
        If idLoaiSP > 0 Then
            sSql = "select idnhomsp,  tennhomsp,hinhtxt,idnn,TT,thutu ,idloaisp ,idvn from nhomsp where idloaisp=" & idLoaiSP & " order by idnn, thutu"
        Else
            sSql = "select idnhomsp,  tennhomsp,hinhtxt,idnn,TT,thutu ,idloaisp, idvn from nhomsp order by idnn, idloaisp, thutu"
        End If

        myConn.Open()
        Dim myAdapter As New SqlDataAdapter(sSql, myConn)
        Dim myDataSet As New DataSet
        myAdapter.Fill(myDataSet, sSql)
        dr = myDataSet.Tables(0).NewRow()
        dr(0) = -1
        dr(1) = "Thêm mới"
        myDataSet.Tables(0).Rows.InsertAt(dr, 0)
        DataGrid1.DataSource = myDataSet
        DataGrid1.DataBind()
        myConn.Close()
    End Sub

End Class
